<!DOCTYPE html>
<html>
<head>
	<title>123</title>
</head>
	<script type="text/javascript">
	// 1. 函数概念
	// 2. 函数的声明方式(创建)
	// 3. 函数的调用方式
	// 4. 创建调用函数注意问题
	// 5. 带有参数的函数
	// 6. 函数的返回值
	// 7. 变量的作用域

	// 函数概念
	// 概念 ：函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

	// 声明： test 方法

	var ss = 100;
    //
	// function test(a,b,c,d){
	// 	// console.log(b);
	// 	// alert(a + b); // 被执行的内容
	// 	// parseint  转化为整数
    //
	// 	// js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数，后者把值转换成浮点数。
	// 	// 只有对String类型调用这些方法，这两个函数才能正确运行；
	// 	// 对其他类型返回的都是NaN(Not a Number)。
    //
	// 	// Number 转换为 number类型
	// 	// Boolean  转换为 布尔型
	// 	// String   转换为 字符串
	// 	var c = 1;
	// 	var d = 1;
	// 	// console.log(Number(b));
    //
	// 	if(Number(b) == 0){
	// 		return '';
	// 	}
	// 	var z = a+ Number(b) + Number(c) + d;
    //
	// 	return  z;
    //
	// }

	// function test_one(a , b){
	// 	var ss = 10;
	// 	d = a + b + ss;
	// 	console.log(d)
	// }


	// var scope = "global scope";
    //
	// function checkscope(){
	// 	var scope = "local scope";
	// 	function f(){
	// 		return scope;
	// 	}
    //     console.log(f);
	// 	return f;
	// }

	// console.log(typeof checkscope)
    // checkscope()();


	// function a(){
	// 	function b(){
	// 		console.log("hello world");
	// 	}
	// 	return b();
	// }
    //
	// var c = a();
	// c;

	// var a = test(1,'',2,'');
	// console.log(a);
	// test_one(50, 50);

    // 声明的方式
    // var a = function test(){
    //     console.log(123);
    // }
    //
    // a();
    // function test(){
    //
    // }
    var tesst = function test(){
        alert(1);
    };
    // var test = function _test(){
    //     console.log(1);
    // }

    // test();
    // testsdf();

    //  变量的作用域
    // var a = 100;
    // function test(){
    //     var a = 10;
    //     console.log(a);
    // }
    //
    // test();
    // console.log(a);


    // eval("x=10;y=20;document.write(x*y)")
    //
    // document.write(eval("2+2"))
    //
    // var x=10
    // document.write(eval(x+17))


    eval("2+3")	// 返回 5
    var myeval = eval;	// 可能会抛出 EvalError 异常
    myeval("2+3");	// 可能会抛出 EvalError 异常''

    try{
        adddlert("Welcome guest!")
    }
    catch(err){
        txt="此页面存在一个错误。\n\n"
        txt+="错误描述: " + err + "\n\n"
        txt+="点击OK继续。\n\n"
        alert(txt)
    }
	</script>

<body>
	<button onclick="tesst()">点击</button>
	<p>本例调用的函数会执行一个计算，然后返回结果：</p>

	<p id="demo"></p>
	<script type="text/javascript">
		function myFunction(a,b){
			return a+'*'+b;
		}
		document.getElementById("demo").innerHTML=myFunction(4,3);
	</script>
</body>
</html>
